import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_harmonyos/userInfo.dart';

import 'core/gitcode_api.dart';




class UserInfo2 extends StatelessWidget {

   const UserInfo2({super.key});


  @override
  Widget build(BuildContext context) {
    final user = ModalRoute.of(context)!.settings.arguments as GitCodeSearchUser;
    return MaterialApp(
      title: "用户信息",
      theme: ThemeData(
        colorSchemeSeed: Colors.indigo,
        useMaterial3: true,
        visualDensity: VisualDensity.standard,
      ),
      // 传递参数给实际展示的页面
      home: UserInfoPage(userInfoBean: user,),
    );
  }
}

// 实际展示用户信息的页面（StatefulWidget，支持后续扩展状态）
class UserInfoPage extends StatefulWidget {
  final GitCodeSearchUser userInfoBean;

  const UserInfoPage({
    super.key,
    required this.userInfoBean,
  });

  @override
  State<UserInfoPage> createState() => _UserInfoPageState();
}

class _UserInfoPageState extends State<UserInfoPage> {
  @override
  Widget build(BuildContext context) {
    // 通过 widget 访问父组件传递的参数
    final user = widget.userInfoBean;
    final subtitleParts = <String>[
      '@${user.login}', // 登录名（带 @ 符号，模仿社交平台风格）
      if (user.createdAt != null) '注册 ${user.createdAt}', // 注册时间（非空才显示）
    ];
    return
    Card(
      margin: const EdgeInsets.symmetric(horizontal: 20, vertical: 50), // 增加边距，视觉更美观
      child: ListTile(
        // ListTile：Material 标准列表项组件（图标+标题+副标题）
        contentPadding: const EdgeInsets.symmetric(horizontal: 20, vertical: 12),
        leading: CircleAvatar(
          // 左侧头像：圆形头像展示用户头像
          backgroundImage: NetworkImage(user.avatarUrl), // 网络图片：用户头像 URL
          onBackgroundImageError: (_, __) {}, // 图片加载失败回调：空实现（避免闪退）
        ),
        // 标题：用户名（粗体）
        subtitle: Column(
          // 副标题：垂直排列多个文本（登录名、注册时间、个人主页 URL）
          crossAxisAlignment: CrossAxisAlignment.start, // 左对齐
          children: [
            // 登录名 + 注册时间
            Text(
              subtitleParts.join(' · '), // 用「·」分隔多个部分
              style: const TextStyle(fontSize: 12), // 小字体（12号）
            ),
            // 个人主页 URL（非空才显示）
            if (user.htmlUrl != null)
              Text(
                user.htmlUrl!,
                style: const TextStyle(
                    fontSize: 12, color: Colors.blue), // 蓝色文本（模仿链接样式）
              ),
          ],
        ),
      ),
    );

  }
}